Skip to content

Visual Studio 快速將 JSON 轉換為 C# 類別

TLDR

  • Visual Studio 提供「貼上 JSON 做為類別」功能,可自動將 JSON 字串轉換為對應的 C# Class 結構。
  • 操作路徑為:編輯 → 選擇性貼上 → 貼上 JSON 做為類別。
  • 該功能僅產生基礎結構,作為 DTO 使用時,務必檢查型別正確性、調整命名慣例(使用 [JsonPropertyName]),並補上必要的資料驗證邏輯。

操作步驟

準備 JSON 資料

什麼情況下會遇到這個問題:當你需要將 API 回傳的 JSON 格式快速轉換為 C# 物件模型時。

請先複製目標 JSON 內容,例如:

json
{
  "User": {
    "Id": "Wing",
    "Name": "小翼",
    "Dept": {
      "Id": "SAO",
      "Name": "艾恩葛朗特"
    }
  }
}

定位程式碼位置

在 Visual Studio 編輯器中,將游標移至預計產生類別程式碼的檔案位置。

執行轉換

依序點選:編輯選擇性貼上貼上 JSON 做為類別

操作步驟

產生結果

執行後,Visual Studio 將自動產生對應的類別結構:

csharp
public class Rootobject {
    public User User { get; set; }
}

public class User {
    public string Id { get; set; }
    public string Name { get; set; }
    public Dept Dept { get; set; }
}

public class Dept {
    public string Id { get; set; }
    public string Name { get; set; }
}

提醒與注意事項

什麼情況下會遇到這個問題:當你直接將自動產生的類別用於 API 串接或 DTO 時,可能會因為命名慣例或型別定義不精確導致序列化錯誤。

  • 型別檢查:自動產生的型別可能過於寬鬆,請確認屬性型別是否符合實際業務需求。
  • 命名規範:若 JSON 欄位命名與 C# 命名慣例不符,建議使用 [JsonPropertyName] 屬性進行對應。
  • 資料驗證:自動產生的類別不包含驗證邏輯,請根據業務需求手動加入適當的驗證屬性。

異動歷程

    • 初版文件建立。